/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package acceso_datos;

import datos.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;

/**
 *
 * @author Pablo
 */
public class AdministradorDB {
    public boolean grabar(Administrador admin) throws SQLException {
        UsuarioDB usuarioDB=new UsuarioDB();
                
        Usuario user=new Usuario();
        user.setCedula(admin.getCedula());
        user.setNombre(admin.getNombre());
        user.setApellido(admin.getApellido());
        user.setDireccion(admin.getDireccion());
        user.setDireccion(admin.getDireccion());
        user.setTelefono(admin.getTelefono());
        user.setContrasena(admin.getContrasena());
        
        usuarioDB.grabar(user);
        
        
        OperacionesBase db = new OperacionesBase();
        String query = "insert into administrador values('" + admin.getCedula()+"')";
        boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;        
    }
    
    public int modificar(Administrador admin) throws SQLException {
        UsuarioDB usuarioDB=new UsuarioDB();
        int resultado=usuarioDB.modificar(admin);
        return resultado;
    }
    public int eliminar(String id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        UsuarioDB usuarioDB=new UsuarioDB();        
        int resultado = usuarioDB.eliminar(id);
        db.cerrarConexion();
        return resultado;
    }
    public Administrador buscar(String id) throws SQLException {
        UsuarioDB usuarioDB=new UsuarioDB();   
        OperacionesBase db = new OperacionesBase();       
        String query="select * from administrador where cedula ='" + id + "'";
        ResultSet resultado = db.seleccion(query);
        Administrador admin=null;
        if (resultado!=null) {
            Usuario user=usuarioDB.buscar(id); 
            resultado.next();
            admin = new Administrador("", "", "", "", "", "", "");
            admin.setCedula(user.getCedula());
            admin.setNombre(user.getNombre());
            admin.setApellido(user.getApellido());
            admin.setDireccion(user.getDireccion());     
            admin.setTelefono(user.getTelefono());
            admin.setContrasena(user.getContrasena());
            
        }
        db.cerrarConexion();
        return admin;
    }
    public HashMap<String,Administrador> listar() throws SQLException {
       OperacionesBase db = new OperacionesBase();
        String query="select * from administrador ";
        ResultSet resultado = db.seleccion(query);
        Administrador admin=null;
        HashMap<String,Administrador> todos=new HashMap<String,Administrador>();
        
        UsuarioDB usuarioDB=new UsuarioDB();   
        
        while (resultado.next()) {
            
            Usuario user=usuarioDB.buscar(resultado.getString("cedula")); 
            admin = new Administrador("", "", "", "", "", "", "");
            admin.setCedula(user.getCedula());
            admin.setNombre(user.getNombre());
            admin.setApellido(user.getApellido());
            admin.setDireccion(user.getDireccion());      
            admin.setTelefono(user.getTelefono());
            admin.setContrasena(user.getContrasena());            
            todos.put(admin.getCedula(),admin);
        }
        db.cerrarConexion();
        return todos;
    }
}
